#pragma once

void DetectOSAndSetVerOffsets();
BOOL FindHMValidateHandle();
void FindMemoryOffsets();
LRESULT CALLBACK MainWProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam);
void CreateTargetWindows();
unsigned int ReadKenelMemory(unsigned long long addr);
unsigned long long ReadPtrFromKernelMemory(unsigned long long addr);
void WriteKernelMemory(unsigned long long addr, LPWSTR content);
void FindSecurityTokens();
void KeyAction(unsigned short key, unsigned int dir);
void KeyPress(unsigned short key);
void SendAltShiftEsc();
void SendAltShiftTab(unsigned int count);
void SendAltEsc(unsigned int count);
void CorruptByte(unsigned long long addr);